<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>transwarp: transwarp::detail::task_impl_proxy&lt; void, TaskType, Functor, ParentResults... &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">transwarp
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacetranswarp.html">transwarp</a></li><li class="navelem"><a class="el" href="namespacetranswarp_1_1detail.html">detail</a></li><li class="navelem"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__proxy_3_01void_00_01TaskType_00_01Functor_00_01ParentResults_8_8_8_01_4.html">task_impl_proxy&lt; void, TaskType, Functor, ParentResults... &gt;</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="classtranswarp_1_1detail_1_1task__impl__proxy_3_01void_00_01TaskType_00_01Functor_00_01ParentResults_8_8_8_01_4-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">transwarp::detail::task_impl_proxy&lt; void, TaskType, Functor, ParentResults... &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>A task proxy for void result type.  
 <a href="classtranswarp_1_1detail_1_1task__impl__proxy_3_01void_00_01TaskType_00_01Functor_00_01ParentResults_8_8_8_01_4.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="transwarp_8h_source.html">transwarp.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for transwarp::detail::task_impl_proxy&lt; void, TaskType, Functor, ParentResults... &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="classtranswarp_1_1detail_1_1task__impl__proxy_3_01void_00_01TaskType_00_01Functor_00_01ParentResults_8_8_8_01_4__inherit__graph.png" border="0" usemap="#transwarp_1_1detail_1_1task__impl__proxy_3_01void_00_01TaskType_00_01Functor_00_01ParentResults_8_8_8_01_4_inherit__map" alt="Inheritance graph"/></div>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for transwarp::detail::task_impl_proxy&lt; void, TaskType, Functor, ParentResults... &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="classtranswarp_1_1detail_1_1task__impl__proxy_3_01void_00_01TaskType_00_01Functor_00_01ParentResults_8_8_8_01_4__coll__graph.png" border="0" usemap="#transwarp_1_1detail_1_1task__impl__proxy_3_01void_00_01TaskType_00_01Functor_00_01ParentResults_8_8_8_01_4_coll__map" alt="Collaboration graph"/></div>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:ab3e10249269598e283f3126f92b99f96"><td class="memItemLeft" align="right" valign="top"><a id="ab3e10249269598e283f3126f92b99f96"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__proxy_3_01void_00_01TaskType_00_01Functor_00_01ParentResults_8_8_8_01_4.html#ab3e10249269598e283f3126f92b99f96">task_type</a> = TaskType</td></tr>
<tr class="memdesc:ab3e10249269598e283f3126f92b99f96"><td class="mdescLeft">&#160;</td><td class="mdescRight">The task type. <br /></td></tr>
<tr class="separator:ab3e10249269598e283f3126f92b99f96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65bc409859d7b8415e8cce2e064a353e"><td class="memItemLeft" align="right" valign="top"><a id="a65bc409859d7b8415e8cce2e064a353e"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__proxy_3_01void_00_01TaskType_00_01Functor_00_01ParentResults_8_8_8_01_4.html#a65bc409859d7b8415e8cce2e064a353e">result_type</a> = void</td></tr>
<tr class="memdesc:a65bc409859d7b8415e8cce2e064a353e"><td class="mdescLeft">&#160;</td><td class="mdescRight">The result type of this task. <br /></td></tr>
<tr class="separator:a65bc409859d7b8415e8cce2e064a353e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classtranswarp_1_1detail_1_1task__impl__base"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classtranswarp_1_1detail_1_1task__impl__base')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html">transwarp::detail::task_impl_base&lt; void, TaskType, Functor, ParentResults... &gt;</a></td></tr>
<tr class="memitem:a6013f18e2e5ab8c829642f086cd64f49 inherit pub_types_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a6013f18e2e5ab8c829642f086cd64f49"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a6013f18e2e5ab8c829642f086cd64f49">task_type</a> = TaskType</td></tr>
<tr class="memdesc:a6013f18e2e5ab8c829642f086cd64f49 inherit pub_types_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">The task type. <br /></td></tr>
<tr class="separator:a6013f18e2e5ab8c829642f086cd64f49 inherit pub_types_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ae1931585a8304aaa172c74d06bf8f3 inherit pub_types_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a9ae1931585a8304aaa172c74d06bf8f3"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a9ae1931585a8304aaa172c74d06bf8f3">result_type</a> = void</td></tr>
<tr class="memdesc:a9ae1931585a8304aaa172c74d06bf8f3 inherit pub_types_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">The result type of this task. <br /></td></tr>
<tr class="separator:a9ae1931585a8304aaa172c74d06bf8f3 inherit pub_types_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classtranswarp_1_1detail_1_1task__common"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classtranswarp_1_1detail_1_1task__common')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classtranswarp_1_1detail_1_1task__common.html">transwarp::detail::task_common&lt; void &gt;</a></td></tr>
<tr class="memitem:a3a0e6f882a6dd86fa2e152a2aa595f90 inherit pub_types_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a id="a3a0e6f882a6dd86fa2e152a2aa595f90"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a3a0e6f882a6dd86fa2e152a2aa595f90">result_type</a> = void</td></tr>
<tr class="memdesc:a3a0e6f882a6dd86fa2e152a2aa595f90 inherit pub_types_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">The result type of this task. <br /></td></tr>
<tr class="separator:a3a0e6f882a6dd86fa2e152a2aa595f90 inherit pub_types_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classtranswarp_1_1task_3_01void_01_4"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classtranswarp_1_1task_3_01void_01_4')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classtranswarp_1_1task_3_01void_01_4.html">transwarp::task&lt; void &gt;</a></td></tr>
<tr class="memitem:a9f186d8a4a0c318d5a9a63e5c86acc8b inherit pub_types_classtranswarp_1_1task_3_01void_01_4"><td class="memItemLeft" align="right" valign="top"><a id="a9f186d8a4a0c318d5a9a63e5c86acc8b"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>result_type</b> = void</td></tr>
<tr class="separator:a9f186d8a4a0c318d5a9a63e5c86acc8b inherit pub_types_classtranswarp_1_1task_3_01void_01_4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a94e9194a05d9f9e22939d687f301c3dc"><td class="memItemLeft" align="right" valign="top"><a id="a94e9194a05d9f9e22939d687f301c3dc"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__proxy_3_01void_00_01TaskType_00_01Functor_00_01ParentResults_8_8_8_01_4.html#a94e9194a05d9f9e22939d687f301c3dc">set_value</a> () override</td></tr>
<tr class="memdesc:a94e9194a05d9f9e22939d687f301c3dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns a value to this task. Scheduling will have no effect after a call to this. Calling <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ae9395346d257ac48c5dc807681bc0859" title="Resets this task.">reset()</a> will reset this and re-enable scheduling. <br /></td></tr>
<tr class="separator:a94e9194a05d9f9e22939d687f301c3dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03c7da70b7bcd515a7e03a739cea2069"><td class="memItemLeft" align="right" valign="top"><a id="a03c7da70b7bcd515a7e03a739cea2069"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__proxy_3_01void_00_01TaskType_00_01Functor_00_01ParentResults_8_8_8_01_4.html#a03c7da70b7bcd515a7e03a739cea2069">get</a> () const override</td></tr>
<tr class="memdesc:a03c7da70b7bcd515a7e03a739cea2069"><td class="mdescLeft">&#160;</td><td class="mdescRight">Blocks until the task finishes. Throws any exceptions that the underlying functor throws. Should only be called if <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a7786bbb4ae1c1f34e5610f331c8b2cc9" title="Returns whether the task was scheduled and not reset afterwards. This means that the underlying futur...">was_scheduled()</a> is true, throws <a class="el" href="classtranswarp_1_1control__error.html" title="Exception thrown when a task is used in unintended ways.">transwarp::control_error</a> otherwise. <br /></td></tr>
<tr class="separator:a03c7da70b7bcd515a7e03a739cea2069"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classtranswarp_1_1detail_1_1task__impl__base')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html">transwarp::detail::task_impl_base&lt; void, TaskType, Functor, ParentResults... &gt;</a></td></tr>
<tr class="memitem:afeef5dc7204a4706bd694b884389ea0f inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="afeef5dc7204a4706bd694b884389ea0f"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#afeef5dc7204a4706bd694b884389ea0f">finalize</a> () override</td></tr>
<tr class="memdesc:afeef5dc7204a4706bd694b884389ea0f inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Can be called to explicitly finalize this task making this task the terminal task in the graph. This is also done implicitly when calling, e.g., any of the *_all methods. It should normally not be necessary to call this method directly. <br /></td></tr>
<tr class="separator:afeef5dc7204a4706bd694b884389ea0f inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a3f6a89a5c6163ffa81f71b183547ee inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a6a3f6a89a5c6163ffa81f71b183547ee"></a>
std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a6a3f6a89a5c6163ffa81f71b183547ee">level</a> () const noexcept override</td></tr>
<tr class="memdesc:a6a3f6a89a5c6163ffa81f71b183547ee inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">The task's level. <br /></td></tr>
<tr class="separator:a6a3f6a89a5c6163ffa81f71b183547ee inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e171e5ca4e3981b6dc0b660ebe98b96 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a9e171e5ca4e3981b6dc0b660ebe98b96"></a>
<a class="el" href="namespacetranswarp.html#a10f2b2567332cf9514d4c366c1cc5a5e">transwarp::task_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a9e171e5ca4e3981b6dc0b660ebe98b96">type</a> () const noexcept override</td></tr>
<tr class="memdesc:a9e171e5ca4e3981b6dc0b660ebe98b96 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">The task's type. <br /></td></tr>
<tr class="separator:a9e171e5ca4e3981b6dc0b660ebe98b96 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf14abb6d9b9198a7bba57634822b8f6 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="abf14abb6d9b9198a7bba57634822b8f6"></a>
std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1executor.html">transwarp::executor</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#abf14abb6d9b9198a7bba57634822b8f6">executor</a> () const noexcept override</td></tr>
<tr class="memdesc:abf14abb6d9b9198a7bba57634822b8f6 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">The task's executor (may be null) <br /></td></tr>
<tr class="separator:abf14abb6d9b9198a7bba57634822b8f6 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad41e4ba54a7858e2b395b9aff3e2a0d8 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="ad41e4ba54a7858e2b395b9aff3e2a0d8"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ad41e4ba54a7858e2b395b9aff3e2a0d8">canceled</a> () const noexcept override</td></tr>
<tr class="memdesc:ad41e4ba54a7858e2b395b9aff3e2a0d8 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the associated task is canceled. <br /></td></tr>
<tr class="separator:ad41e4ba54a7858e2b395b9aff3e2a0d8 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a890298e58b910b75d613e48a0b608485 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a890298e58b910b75d613e48a0b608485"></a>
std::int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a890298e58b910b75d613e48a0b608485">avg_idletime_us</a> () const noexcept override</td></tr>
<tr class="memdesc:a890298e58b910b75d613e48a0b608485 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the average idletime in microseconds (-1 if never set) <br /></td></tr>
<tr class="separator:a890298e58b910b75d613e48a0b608485 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f5f7d4358f51b13b1913fbebca5b67c inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a4f5f7d4358f51b13b1913fbebca5b67c"></a>
std::int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a4f5f7d4358f51b13b1913fbebca5b67c">avg_waittime_us</a> () const noexcept override</td></tr>
<tr class="memdesc:a4f5f7d4358f51b13b1913fbebca5b67c inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the average waittime in microseconds (-1 if never set) <br /></td></tr>
<tr class="separator:a4f5f7d4358f51b13b1913fbebca5b67c inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87b25737eb0eb200d88d2bf371a5e0c7 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a87b25737eb0eb200d88d2bf371a5e0c7"></a>
std::int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a87b25737eb0eb200d88d2bf371a5e0c7">avg_runtime_us</a> () const noexcept override</td></tr>
<tr class="memdesc:a87b25737eb0eb200d88d2bf371a5e0c7 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the average runtime in microseconds (-1 if never set) <br /></td></tr>
<tr class="separator:a87b25737eb0eb200d88d2bf371a5e0c7 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9b2fdcdf2887af6e3672205e81d8bd1 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="ab9b2fdcdf2887af6e3672205e81d8bd1"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ab9b2fdcdf2887af6e3672205e81d8bd1">set_executor</a> (std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1executor.html">transwarp::executor</a> &gt; <a class="el" href="classtranswarp_1_1executor.html">executor</a>) override</td></tr>
<tr class="memdesc:ab9b2fdcdf2887af6e3672205e81d8bd1 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns an executor to this task which takes precedence over the executor provided in <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a088ef96722fcc2ae566d986a3b7aa126" title="Schedules this task for execution on the caller thread. The task-specific executor gets precedence if...">schedule()</a> or <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a6c6e793a568687da09fd2e301f0aabeb" title="Schedules all tasks in the graph for execution on the caller thread. The task-specific executors get ...">schedule_all()</a> <br /></td></tr>
<tr class="separator:ab9b2fdcdf2887af6e3672205e81d8bd1 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a616f72434683f0165a231b3d5cddda3c inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a616f72434683f0165a231b3d5cddda3c"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a616f72434683f0165a231b3d5cddda3c">set_executor_all</a> (std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1executor.html">transwarp::executor</a> &gt; <a class="el" href="classtranswarp_1_1executor.html">executor</a>) override</td></tr>
<tr class="memdesc:a616f72434683f0165a231b3d5cddda3c inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns an executor to all tasks which takes precedence over the executor provided in <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a088ef96722fcc2ae566d986a3b7aa126" title="Schedules this task for execution on the caller thread. The task-specific executor gets precedence if...">schedule()</a> or <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a6c6e793a568687da09fd2e301f0aabeb" title="Schedules all tasks in the graph for execution on the caller thread. The task-specific executors get ...">schedule_all()</a> <br /></td></tr>
<tr class="separator:a616f72434683f0165a231b3d5cddda3c inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a195cd09889aa2008c840cb667b8147 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a9a195cd09889aa2008c840cb667b8147"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a9a195cd09889aa2008c840cb667b8147">remove_executor</a> () override</td></tr>
<tr class="memdesc:a9a195cd09889aa2008c840cb667b8147 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes the executor from this task. <br /></td></tr>
<tr class="separator:a9a195cd09889aa2008c840cb667b8147 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad89fde97c3443622010ac2b8012c4d60 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="ad89fde97c3443622010ac2b8012c4d60"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ad89fde97c3443622010ac2b8012c4d60">remove_executor_all</a> () override</td></tr>
<tr class="memdesc:ad89fde97c3443622010ac2b8012c4d60 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes the executor from all tasks. <br /></td></tr>
<tr class="separator:ad89fde97c3443622010ac2b8012c4d60 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a088ef96722fcc2ae566d986a3b7aa126 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a088ef96722fcc2ae566d986a3b7aa126"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a088ef96722fcc2ae566d986a3b7aa126">schedule</a> () override</td></tr>
<tr class="memdesc:a088ef96722fcc2ae566d986a3b7aa126 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedules this task for execution on the caller thread. The task-specific executor gets precedence if it exists. This overload will reset the underlying future. <br /></td></tr>
<tr class="separator:a088ef96722fcc2ae566d986a3b7aa126 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a489e94b8da4d4845444db55f4ad0099d inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a489e94b8da4d4845444db55f4ad0099d"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a489e94b8da4d4845444db55f4ad0099d">schedule</a> (bool <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ae9395346d257ac48c5dc807681bc0859">reset</a>) override</td></tr>
<tr class="memdesc:a489e94b8da4d4845444db55f4ad0099d inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedules this task for execution on the caller thread. The task-specific executor gets precedence if it exists. reset denotes whether schedule should reset the underlying future and schedule even if the future is already valid. <br /></td></tr>
<tr class="separator:a489e94b8da4d4845444db55f4ad0099d inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af79f9cfc45e39bde282d38603b5570bf inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="af79f9cfc45e39bde282d38603b5570bf"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#af79f9cfc45e39bde282d38603b5570bf">schedule</a> (<a class="el" href="classtranswarp_1_1executor.html">transwarp::executor</a> &amp;<a class="el" href="classtranswarp_1_1executor.html">executor</a>) override</td></tr>
<tr class="memdesc:af79f9cfc45e39bde282d38603b5570bf inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedules this task for execution using the provided executor. The task-specific executor gets precedence if it exists. This overload will reset the underlying future. <br /></td></tr>
<tr class="separator:af79f9cfc45e39bde282d38603b5570bf inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01748aaad3320b193ad02ebe22e0ecd5 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a01748aaad3320b193ad02ebe22e0ecd5"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a01748aaad3320b193ad02ebe22e0ecd5">schedule</a> (<a class="el" href="classtranswarp_1_1executor.html">transwarp::executor</a> &amp;<a class="el" href="classtranswarp_1_1executor.html">executor</a>, bool <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ae9395346d257ac48c5dc807681bc0859">reset</a>) override</td></tr>
<tr class="memdesc:a01748aaad3320b193ad02ebe22e0ecd5 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedules this task for execution using the provided executor. The task-specific executor gets precedence if it exists. reset denotes whether schedule should reset the underlying future and schedule even if the future is already valid. <br /></td></tr>
<tr class="separator:a01748aaad3320b193ad02ebe22e0ecd5 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c6e793a568687da09fd2e301f0aabeb inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a6c6e793a568687da09fd2e301f0aabeb"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a6c6e793a568687da09fd2e301f0aabeb">schedule_all</a> () override</td></tr>
<tr class="memdesc:a6c6e793a568687da09fd2e301f0aabeb inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedules all tasks in the graph for execution on the caller thread. The task-specific executors get precedence if they exist. This overload will reset the underlying futures. <br /></td></tr>
<tr class="separator:a6c6e793a568687da09fd2e301f0aabeb inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a593a4c887344bd22497acbd207387c7f inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a593a4c887344bd22497acbd207387c7f"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a593a4c887344bd22497acbd207387c7f">schedule_all</a> (<a class="el" href="classtranswarp_1_1executor.html">transwarp::executor</a> &amp;<a class="el" href="classtranswarp_1_1executor.html">executor</a>) override</td></tr>
<tr class="memdesc:a593a4c887344bd22497acbd207387c7f inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedules all tasks in the graph for execution using the provided executor. The task-specific executors get precedence if they exist. This overload will reset the underlying futures. <br /></td></tr>
<tr class="separator:a593a4c887344bd22497acbd207387c7f inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36ae331a35265a0a3e2cbca228809cd7 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a36ae331a35265a0a3e2cbca228809cd7"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a36ae331a35265a0a3e2cbca228809cd7">schedule_all</a> (bool <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#afc2bb4a5017de5ddd00425fd51ae5d14">reset_all</a>) override</td></tr>
<tr class="memdesc:a36ae331a35265a0a3e2cbca228809cd7 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedules all tasks in the graph for execution on the caller thread. The task-specific executors get precedence if they exist. reset_all denotes whether schedule_all should reset the underlying futures and schedule even if the futures are already present. <br /></td></tr>
<tr class="separator:a36ae331a35265a0a3e2cbca228809cd7 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac10238843e166e1f726a2da10bd63adc inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="ac10238843e166e1f726a2da10bd63adc"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ac10238843e166e1f726a2da10bd63adc">schedule_all</a> (<a class="el" href="classtranswarp_1_1executor.html">transwarp::executor</a> &amp;<a class="el" href="classtranswarp_1_1executor.html">executor</a>, bool <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#afc2bb4a5017de5ddd00425fd51ae5d14">reset_all</a>) override</td></tr>
<tr class="memdesc:ac10238843e166e1f726a2da10bd63adc inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedules all tasks in the graph for execution using the provided executor. The task-specific executors get precedence if they exist. reset_all denotes whether schedule_all should reset the underlying futures and schedule even if the futures are already present. <br /></td></tr>
<tr class="separator:ac10238843e166e1f726a2da10bd63adc inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a4a7473e054df4a30e9cfa8afb75cae inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a5a4a7473e054df4a30e9cfa8afb75cae"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a5a4a7473e054df4a30e9cfa8afb75cae">set_exception</a> (std::exception_ptr exception) override</td></tr>
<tr class="memdesc:a5a4a7473e054df4a30e9cfa8afb75cae inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns an exception to this task. Scheduling will have no effect after an exception has been set. Calling <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ae9395346d257ac48c5dc807681bc0859" title="Resets this task.">reset()</a> will remove the exception and re-enable scheduling. <br /></td></tr>
<tr class="separator:a5a4a7473e054df4a30e9cfa8afb75cae inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7786bbb4ae1c1f34e5610f331c8b2cc9 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a7786bbb4ae1c1f34e5610f331c8b2cc9"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a7786bbb4ae1c1f34e5610f331c8b2cc9">was_scheduled</a> () const noexcept override</td></tr>
<tr class="memdesc:a7786bbb4ae1c1f34e5610f331c8b2cc9 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the task was scheduled and not reset afterwards. This means that the underlying future is valid. <br /></td></tr>
<tr class="separator:a7786bbb4ae1c1f34e5610f331c8b2cc9 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0741b5882bdf4eaeeea2edaaa099006a inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a0741b5882bdf4eaeeea2edaaa099006a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a0741b5882bdf4eaeeea2edaaa099006a">wait</a> () const override</td></tr>
<tr class="memdesc:a0741b5882bdf4eaeeea2edaaa099006a inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Waits for the task to complete. Should only be called if <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a7786bbb4ae1c1f34e5610f331c8b2cc9" title="Returns whether the task was scheduled and not reset afterwards. This means that the underlying futur...">was_scheduled()</a> is true, throws <a class="el" href="classtranswarp_1_1control__error.html" title="Exception thrown when a task is used in unintended ways.">transwarp::control_error</a> otherwise. <br /></td></tr>
<tr class="separator:a0741b5882bdf4eaeeea2edaaa099006a inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a924528d6f2b7555e34755a51c5c5dd5f inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a924528d6f2b7555e34755a51c5c5dd5f"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a924528d6f2b7555e34755a51c5c5dd5f">is_ready</a> () const override</td></tr>
<tr class="memdesc:a924528d6f2b7555e34755a51c5c5dd5f inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the task has finished processing. Should only be called if <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a7786bbb4ae1c1f34e5610f331c8b2cc9" title="Returns whether the task was scheduled and not reset afterwards. This means that the underlying futur...">was_scheduled()</a> is true, throws <a class="el" href="classtranswarp_1_1control__error.html" title="Exception thrown when a task is used in unintended ways.">transwarp::control_error</a> otherwise. <br /></td></tr>
<tr class="separator:a924528d6f2b7555e34755a51c5c5dd5f inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97f4826901c511fd4f9e3fe0cfbe347a inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a97f4826901c511fd4f9e3fe0cfbe347a"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a97f4826901c511fd4f9e3fe0cfbe347a">has_result</a> () const noexcept override</td></tr>
<tr class="memdesc:a97f4826901c511fd4f9e3fe0cfbe347a inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether this task contains a result. <br /></td></tr>
<tr class="separator:a97f4826901c511fd4f9e3fe0cfbe347a inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9395346d257ac48c5dc807681bc0859 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="ae9395346d257ac48c5dc807681bc0859"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ae9395346d257ac48c5dc807681bc0859">reset</a> () override</td></tr>
<tr class="memdesc:ae9395346d257ac48c5dc807681bc0859 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets this task. <br /></td></tr>
<tr class="separator:ae9395346d257ac48c5dc807681bc0859 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc2bb4a5017de5ddd00425fd51ae5d14 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="afc2bb4a5017de5ddd00425fd51ae5d14"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#afc2bb4a5017de5ddd00425fd51ae5d14">reset_all</a> () override</td></tr>
<tr class="memdesc:afc2bb4a5017de5ddd00425fd51ae5d14 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets all tasks in the graph. <br /></td></tr>
<tr class="separator:afc2bb4a5017de5ddd00425fd51ae5d14 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab105d3ebe1cc8902402e3562a8bf4f05 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="ab105d3ebe1cc8902402e3562a8bf4f05"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ab105d3ebe1cc8902402e3562a8bf4f05">cancel</a> (bool enabled) noexcept override</td></tr>
<tr class="memdesc:ab105d3ebe1cc8902402e3562a8bf4f05 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">If enabled then this task is canceled which will throw <a class="el" href="classtranswarp_1_1task__canceled.html" title="Exception thrown when a task is canceled.">transwarp::task_canceled</a> when retrieving the task result. Passing false is equivalent to resume. <br /></td></tr>
<tr class="separator:ab105d3ebe1cc8902402e3562a8bf4f05 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45f547566ed8c7a3211a85717ad59dc1 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a45f547566ed8c7a3211a85717ad59dc1"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a45f547566ed8c7a3211a85717ad59dc1">cancel_all</a> (bool enabled) noexcept override</td></tr>
<tr class="memdesc:a45f547566ed8c7a3211a85717ad59dc1 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">If enabled then all pending tasks in the graph are canceled which will throw <a class="el" href="classtranswarp_1_1task__canceled.html" title="Exception thrown when a task is canceled.">transwarp::task_canceled</a> when retrieving the task result. Passing false is equivalent to resume. <br /></td></tr>
<tr class="separator:a45f547566ed8c7a3211a85717ad59dc1 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae35a5d62df1a4ab71a0e0a5fab28b74 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="aae35a5d62df1a4ab71a0e0a5fab28b74"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#aae35a5d62df1a4ab71a0e0a5fab28b74">set_priority_all</a> (std::int64_t <a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a7ba216f5223738454a4d651d69161110">priority</a>) override</td></tr>
<tr class="memdesc:aae35a5d62df1a4ab71a0e0a5fab28b74 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a priority to all tasks (defaults to 0). transwarp will not directly use this. This is only useful if something else is using the priority (e.g. a custom executor) <br /></td></tr>
<tr class="separator:aae35a5d62df1a4ab71a0e0a5fab28b74 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f07ac9522ba402c37597cd793922897 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a3f07ac9522ba402c37597cd793922897"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a3f07ac9522ba402c37597cd793922897">reset_priority_all</a> () override</td></tr>
<tr class="memdesc:a3f07ac9522ba402c37597cd793922897 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the priority of all tasks to 0. <br /></td></tr>
<tr class="separator:a3f07ac9522ba402c37597cd793922897 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60e0e0c5ec85d7aa9a396e1497db6f22 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a60e0e0c5ec85d7aa9a396e1497db6f22"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a60e0e0c5ec85d7aa9a396e1497db6f22">set_custom_data_all</a> (transwarp::any_data <a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a61535662f447a97cc4e4a31109b8f144">custom_data</a>) override</td></tr>
<tr class="memdesc:a60e0e0c5ec85d7aa9a396e1497db6f22 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns custom data to all tasks. transwarp will not directly use this. This is only useful if something else is using this custom data (e.g. a custom executor) <br /></td></tr>
<tr class="separator:a60e0e0c5ec85d7aa9a396e1497db6f22 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a117815bc16470c34c209c664999041d3 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a117815bc16470c34c209c664999041d3"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a117815bc16470c34c209c664999041d3">remove_custom_data_all</a> () override</td></tr>
<tr class="memdesc:a117815bc16470c34c209c664999041d3 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes custom data from all tasks. <br /></td></tr>
<tr class="separator:a117815bc16470c34c209c664999041d3 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a882e36d39ab3be3ffa53451ec87f0672 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a882e36d39ab3be3ffa53451ec87f0672"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a882e36d39ab3be3ffa53451ec87f0672">add_listener_all</a> (std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1listener.html">transwarp::listener</a> &gt; <a class="el" href="classtranswarp_1_1listener.html">listener</a>) override</td></tr>
<tr class="memdesc:a882e36d39ab3be3ffa53451ec87f0672 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a new listener for all event types and for all parents. <br /></td></tr>
<tr class="separator:a882e36d39ab3be3ffa53451ec87f0672 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97a7a1cb3f24f2d33c28b30596b0c7fb inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a97a7a1cb3f24f2d33c28b30596b0c7fb"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a97a7a1cb3f24f2d33c28b30596b0c7fb">add_listener_all</a> (<a class="el" href="namespacetranswarp.html#a857009a6efbb2f34495ee81664a376dc">transwarp::event_type</a> event, std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1listener.html">transwarp::listener</a> &gt; <a class="el" href="classtranswarp_1_1listener.html">listener</a>) override</td></tr>
<tr class="memdesc:a97a7a1cb3f24f2d33c28b30596b0c7fb inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a new listener for the given event type only and for all parents. <br /></td></tr>
<tr class="separator:a97a7a1cb3f24f2d33c28b30596b0c7fb inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59a726d9c146ae248b6c0cd3f5e21c73 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a59a726d9c146ae248b6c0cd3f5e21c73"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a59a726d9c146ae248b6c0cd3f5e21c73">remove_listener_all</a> (const std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1listener.html">transwarp::listener</a> &gt; &amp;<a class="el" href="classtranswarp_1_1listener.html">listener</a>) override</td></tr>
<tr class="memdesc:a59a726d9c146ae248b6c0cd3f5e21c73 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes the listener for all event types and for all parents. <br /></td></tr>
<tr class="separator:a59a726d9c146ae248b6c0cd3f5e21c73 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16426672b7e1fedc158ae85e5550668a inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a16426672b7e1fedc158ae85e5550668a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a16426672b7e1fedc158ae85e5550668a">remove_listener_all</a> (<a class="el" href="namespacetranswarp.html#a857009a6efbb2f34495ee81664a376dc">transwarp::event_type</a> event, const std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1listener.html">transwarp::listener</a> &gt; &amp;<a class="el" href="classtranswarp_1_1listener.html">listener</a>) override</td></tr>
<tr class="memdesc:a16426672b7e1fedc158ae85e5550668a inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes the listener for the given event type only and for all parents. <br /></td></tr>
<tr class="separator:a16426672b7e1fedc158ae85e5550668a inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4734cd0b4eb7b0ac62ebbd29ef7cb2b inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="aa4734cd0b4eb7b0ac62ebbd29ef7cb2b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#aa4734cd0b4eb7b0ac62ebbd29ef7cb2b">remove_listeners_all</a> () override</td></tr>
<tr class="memdesc:aa4734cd0b4eb7b0ac62ebbd29ef7cb2b inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes all listeners and for all parents. <br /></td></tr>
<tr class="separator:aa4734cd0b4eb7b0ac62ebbd29ef7cb2b inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c20f81b19b8693c3144998ad178f15f inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a8c20f81b19b8693c3144998ad178f15f"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a8c20f81b19b8693c3144998ad178f15f">remove_listeners_all</a> (<a class="el" href="namespacetranswarp.html#a857009a6efbb2f34495ee81664a376dc">transwarp::event_type</a> event) override</td></tr>
<tr class="memdesc:a8c20f81b19b8693c3144998ad178f15f inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes all listeners for the given event type and for all parents. <br /></td></tr>
<tr class="separator:a8c20f81b19b8693c3144998ad178f15f inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1dae043c5a73dbdea60cd7099d6a29fa inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a1dae043c5a73dbdea60cd7099d6a29fa"></a>
std::vector&lt; <a class="el" href="classtranswarp_1_1itask.html">transwarp::itask</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a1dae043c5a73dbdea60cd7099d6a29fa">parents</a> () const override</td></tr>
<tr class="memdesc:a1dae043c5a73dbdea60cd7099d6a29fa inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the task's parents (may be empty) <br /></td></tr>
<tr class="separator:a1dae043c5a73dbdea60cd7099d6a29fa inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a995640e0534e5cf21803ba7ff8518c3c inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a995640e0534e5cf21803ba7ff8518c3c"></a>
const std::vector&lt; <a class="el" href="classtranswarp_1_1itask.html">transwarp::itask</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a995640e0534e5cf21803ba7ff8518c3c">tasks</a> () override</td></tr>
<tr class="memdesc:a995640e0534e5cf21803ba7ff8518c3c inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns all tasks in the graph in breadth order. <br /></td></tr>
<tr class="separator:a995640e0534e5cf21803ba7ff8518c3c inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab888115ac9ca1ffb1ff56c45735a838b inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="ab888115ac9ca1ffb1ff56c45735a838b"></a>
std::vector&lt; <a class="el" href="classtranswarp_1_1edge.html">transwarp::edge</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ab888115ac9ca1ffb1ff56c45735a838b">edges</a> () override</td></tr>
<tr class="memdesc:ab888115ac9ca1ffb1ff56c45735a838b inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns all edges in the graph. This is mainly for visualizing the tasks and their interdependencies. Pass the result into <a class="el" href="namespacetranswarp.html#ab7cae8c7d0267dd51406f77f69697c3b" title="String conversion for the task_type enumeration.">transwarp::to_string</a> to retrieve a dot-style graph representation for easy viewing. <br /></td></tr>
<tr class="separator:ab888115ac9ca1ffb1ff56c45735a838b inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classtranswarp_1_1detail_1_1task__common"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classtranswarp_1_1detail_1_1task__common')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classtranswarp_1_1detail_1_1task__common.html">transwarp::detail::task_common&lt; void &gt;</a></td></tr>
<tr class="memitem:aabd43f3358eab2d17fbcdb852fa9b9d7 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a id="aabd43f3358eab2d17fbcdb852fa9b9d7"></a>
std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#aabd43f3358eab2d17fbcdb852fa9b9d7">id</a> () const noexcept override</td></tr>
<tr class="memdesc:aabd43f3358eab2d17fbcdb852fa9b9d7 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">The task's id. <br /></td></tr>
<tr class="separator:aabd43f3358eab2d17fbcdb852fa9b9d7 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0835d77d070e47b0fb26d4d8b96713a8 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a id="a0835d77d070e47b0fb26d4d8b96713a8"></a>
const transwarp::option_str &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a0835d77d070e47b0fb26d4d8b96713a8">name</a> () const noexcept override</td></tr>
<tr class="memdesc:a0835d77d070e47b0fb26d4d8b96713a8 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">The optional task name. <br /></td></tr>
<tr class="separator:a0835d77d070e47b0fb26d4d8b96713a8 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ba216f5223738454a4d651d69161110 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a id="a7ba216f5223738454a4d651d69161110"></a>
std::int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a7ba216f5223738454a4d651d69161110">priority</a> () const noexcept override</td></tr>
<tr class="memdesc:a7ba216f5223738454a4d651d69161110 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">The task priority (defaults to 0) <br /></td></tr>
<tr class="separator:a7ba216f5223738454a4d651d69161110 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61535662f447a97cc4e4a31109b8f144 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a id="a61535662f447a97cc4e4a31109b8f144"></a>
const transwarp::any_data &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a61535662f447a97cc4e4a31109b8f144">custom_data</a> () const noexcept override</td></tr>
<tr class="memdesc:a61535662f447a97cc4e4a31109b8f144 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">The custom task data (may not hold a value) <br /></td></tr>
<tr class="separator:a61535662f447a97cc4e4a31109b8f144 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac786819b845dad8b71060d64b494021 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a id="aac786819b845dad8b71060d64b494021"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#aac786819b845dad8b71060d64b494021">set_priority</a> (std::int64_t <a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a7ba216f5223738454a4d651d69161110">priority</a>) override</td></tr>
<tr class="memdesc:aac786819b845dad8b71060d64b494021 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a task priority (defaults to 0). transwarp will not directly use this. This is only useful if something else is using the priority (e.g. a custom executor) <br /></td></tr>
<tr class="separator:aac786819b845dad8b71060d64b494021 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af589678f1bd7d3190481ef4ee8bc3a71 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a id="af589678f1bd7d3190481ef4ee8bc3a71"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#af589678f1bd7d3190481ef4ee8bc3a71">reset_priority</a> () override</td></tr>
<tr class="memdesc:af589678f1bd7d3190481ef4ee8bc3a71 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the task priority to 0. <br /></td></tr>
<tr class="separator:af589678f1bd7d3190481ef4ee8bc3a71 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af207f76847e7173d5db4a00e8325d0d4 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a id="af207f76847e7173d5db4a00e8325d0d4"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#af207f76847e7173d5db4a00e8325d0d4">set_custom_data</a> (transwarp::any_data <a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a61535662f447a97cc4e4a31109b8f144">custom_data</a>) override</td></tr>
<tr class="memdesc:af207f76847e7173d5db4a00e8325d0d4 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns custom data to this task. transwarp will not directly use this. This is only useful if something else is using this custom data (e.g. a custom executor) <br /></td></tr>
<tr class="separator:af207f76847e7173d5db4a00e8325d0d4 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a730e97aa69e1cf079198f802cb2b9a76 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a id="a730e97aa69e1cf079198f802cb2b9a76"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a730e97aa69e1cf079198f802cb2b9a76">remove_custom_data</a> () override</td></tr>
<tr class="memdesc:a730e97aa69e1cf079198f802cb2b9a76 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes custom data from this task. <br /></td></tr>
<tr class="separator:a730e97aa69e1cf079198f802cb2b9a76 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82c21811094e5807276b0a614cfd78b3 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a id="a82c21811094e5807276b0a614cfd78b3"></a>
std::shared_future&lt; <a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a3a0e6f882a6dd86fa2e152a2aa595f90">result_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a82c21811094e5807276b0a614cfd78b3">future</a> () const noexcept override</td></tr>
<tr class="memdesc:a82c21811094e5807276b0a614cfd78b3 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the future associated to the underlying execution. <br /></td></tr>
<tr class="separator:a82c21811094e5807276b0a614cfd78b3 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6da9d357b6e09ca0e597bf2370941157 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a id="a6da9d357b6e09ca0e597bf2370941157"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a6da9d357b6e09ca0e597bf2370941157">add_listener</a> (std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1listener.html">transwarp::listener</a> &gt; <a class="el" href="classtranswarp_1_1listener.html">listener</a>) override</td></tr>
<tr class="memdesc:a6da9d357b6e09ca0e597bf2370941157 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a new listener for all event types. <br /></td></tr>
<tr class="separator:a6da9d357b6e09ca0e597bf2370941157 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83255d9dd559248835e3e686f6f8fa22 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a id="a83255d9dd559248835e3e686f6f8fa22"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a83255d9dd559248835e3e686f6f8fa22">add_listener</a> (<a class="el" href="namespacetranswarp.html#a857009a6efbb2f34495ee81664a376dc">transwarp::event_type</a> event, std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1listener.html">transwarp::listener</a> &gt; <a class="el" href="classtranswarp_1_1listener.html">listener</a>) override</td></tr>
<tr class="memdesc:a83255d9dd559248835e3e686f6f8fa22 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a new listener for the given event type only. <br /></td></tr>
<tr class="separator:a83255d9dd559248835e3e686f6f8fa22 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a424473dbb98ba2e82ebb65b18ced83 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a id="a7a424473dbb98ba2e82ebb65b18ced83"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a7a424473dbb98ba2e82ebb65b18ced83">remove_listener</a> (const std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1listener.html">transwarp::listener</a> &gt; &amp;<a class="el" href="classtranswarp_1_1listener.html">listener</a>) override</td></tr>
<tr class="memdesc:a7a424473dbb98ba2e82ebb65b18ced83 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes the listener for all event types. <br /></td></tr>
<tr class="separator:a7a424473dbb98ba2e82ebb65b18ced83 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3bf5d3ab34b0191fe82f3686e906aac4 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a id="a3bf5d3ab34b0191fe82f3686e906aac4"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a3bf5d3ab34b0191fe82f3686e906aac4">remove_listener</a> (<a class="el" href="namespacetranswarp.html#a857009a6efbb2f34495ee81664a376dc">transwarp::event_type</a> event, const std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1listener.html">transwarp::listener</a> &gt; &amp;<a class="el" href="classtranswarp_1_1listener.html">listener</a>) override</td></tr>
<tr class="memdesc:a3bf5d3ab34b0191fe82f3686e906aac4 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes the listener for the given event type only. <br /></td></tr>
<tr class="separator:a3bf5d3ab34b0191fe82f3686e906aac4 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afdd70445f0088660f5a7b35c60e23b5b inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a id="afdd70445f0088660f5a7b35c60e23b5b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#afdd70445f0088660f5a7b35c60e23b5b">remove_listeners</a> () override</td></tr>
<tr class="memdesc:afdd70445f0088660f5a7b35c60e23b5b inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes all listeners. <br /></td></tr>
<tr class="separator:afdd70445f0088660f5a7b35c60e23b5b inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36555b7fdbbd6383080c222752e67928 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a id="a36555b7fdbbd6383080c222752e67928"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a36555b7fdbbd6383080c222752e67928">remove_listeners</a> (<a class="el" href="namespacetranswarp.html#a857009a6efbb2f34495ee81664a376dc">transwarp::event_type</a> event) override</td></tr>
<tr class="memdesc:a36555b7fdbbd6383080c222752e67928 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes all listeners for the given event type. <br /></td></tr>
<tr class="separator:a36555b7fdbbd6383080c222752e67928 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classtranswarp_1_1task_3_01void_01_4"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classtranswarp_1_1task_3_01void_01_4')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classtranswarp_1_1task_3_01void_01_4.html">transwarp::task&lt; void &gt;</a></td></tr>
<tr class="memitem:ace422848969ea5cf6626b6730a9b4aef inherit pub_methods_classtranswarp_1_1task_3_01void_01_4"><td class="memItemLeft" align="right" valign="top"><a id="ace422848969ea5cf6626b6730a9b4aef"></a>
std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1task.html">task</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>clone</b> () const</td></tr>
<tr class="separator:ace422848969ea5cf6626b6730a9b4aef inherit pub_methods_classtranswarp_1_1task_3_01void_01_4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c84fe07b337bd2367cdc0d465070889 inherit pub_methods_classtranswarp_1_1task_3_01void_01_4"><td class="memItemLeft" align="right" valign="top"><a id="a0c84fe07b337bd2367cdc0d465070889"></a>
virtual std::shared_future&lt; result_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>future</b> () const noexcept=0</td></tr>
<tr class="separator:a0c84fe07b337bd2367cdc0d465070889 inherit pub_methods_classtranswarp_1_1task_3_01void_01_4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classtranswarp_1_1itask"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classtranswarp_1_1itask')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classtranswarp_1_1itask.html">transwarp::itask</a></td></tr>
<tr class="memitem:a06be3b387a2bda0d272e9ff733185989 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a06be3b387a2bda0d272e9ff733185989"></a>
virtual std::size_t&#160;</td><td class="memItemRight" valign="bottom"><b>id</b> () const noexcept=0</td></tr>
<tr class="separator:a06be3b387a2bda0d272e9ff733185989 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab383910a47c2da2cabfd3137f9dce46a inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="ab383910a47c2da2cabfd3137f9dce46a"></a>
virtual std::size_t&#160;</td><td class="memItemRight" valign="bottom"><b>level</b> () const noexcept=0</td></tr>
<tr class="separator:ab383910a47c2da2cabfd3137f9dce46a inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92186a805bcd25089778c03a87ed2946 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a92186a805bcd25089778c03a87ed2946"></a>
virtual <a class="el" href="namespacetranswarp.html#a10f2b2567332cf9514d4c366c1cc5a5e">transwarp::task_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>type</b> () const noexcept=0</td></tr>
<tr class="separator:a92186a805bcd25089778c03a87ed2946 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c733c80076906f657aff61509be3d14 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a3c733c80076906f657aff61509be3d14"></a>
virtual const transwarp::option_str &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>name</b> () const noexcept=0</td></tr>
<tr class="separator:a3c733c80076906f657aff61509be3d14 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a350284ee4c028f91cfdc9b63b8627a32 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a350284ee4c028f91cfdc9b63b8627a32"></a>
virtual std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1executor.html">transwarp::executor</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>executor</b> () const noexcept=0</td></tr>
<tr class="separator:a350284ee4c028f91cfdc9b63b8627a32 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab99c0248b6b7075a164d8b41f7da8b08 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="ab99c0248b6b7075a164d8b41f7da8b08"></a>
virtual std::int64_t&#160;</td><td class="memItemRight" valign="bottom"><b>priority</b> () const noexcept=0</td></tr>
<tr class="separator:ab99c0248b6b7075a164d8b41f7da8b08 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd88996d7c3f12bd260dddcd4a00df53 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="acd88996d7c3f12bd260dddcd4a00df53"></a>
virtual const transwarp::any_data &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>custom_data</b> () const noexcept=0</td></tr>
<tr class="separator:acd88996d7c3f12bd260dddcd4a00df53 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20b57796d91740b1033de9d8857c4a3a inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a20b57796d91740b1033de9d8857c4a3a"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>canceled</b> () const noexcept=0</td></tr>
<tr class="separator:a20b57796d91740b1033de9d8857c4a3a inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a929ba90a7d6f43827669e59acc94c5e3 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a929ba90a7d6f43827669e59acc94c5e3"></a>
virtual std::int64_t&#160;</td><td class="memItemRight" valign="bottom"><b>avg_idletime_us</b> () const noexcept=0</td></tr>
<tr class="separator:a929ba90a7d6f43827669e59acc94c5e3 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bf31d506094c71c1aed89d078696781 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a6bf31d506094c71c1aed89d078696781"></a>
virtual std::int64_t&#160;</td><td class="memItemRight" valign="bottom"><b>avg_waittime_us</b> () const noexcept=0</td></tr>
<tr class="separator:a6bf31d506094c71c1aed89d078696781 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51ebd9a32eab805c49f469059575d9f7 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a51ebd9a32eab805c49f469059575d9f7"></a>
virtual std::int64_t&#160;</td><td class="memItemRight" valign="bottom"><b>avg_runtime_us</b> () const noexcept=0</td></tr>
<tr class="separator:a51ebd9a32eab805c49f469059575d9f7 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a868a373f4cf1f6ed17ae248fce897f6c inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a868a373f4cf1f6ed17ae248fce897f6c"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>was_scheduled</b> () const noexcept=0</td></tr>
<tr class="separator:a868a373f4cf1f6ed17ae248fce897f6c inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1684512c03b629c220d5eeb0e357a8ba inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a1684512c03b629c220d5eeb0e357a8ba"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>wait</b> () const =0</td></tr>
<tr class="separator:a1684512c03b629c220d5eeb0e357a8ba inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e802874e1669d81e5497325d15c11b5 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a6e802874e1669d81e5497325d15c11b5"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_ready</b> () const =0</td></tr>
<tr class="separator:a6e802874e1669d81e5497325d15c11b5 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a777d74c766ba2dd1c6c6a211e9d63b09 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a777d74c766ba2dd1c6c6a211e9d63b09"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>has_result</b> () const =0</td></tr>
<tr class="separator:a777d74c766ba2dd1c6c6a211e9d63b09 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afad3dc5a68608fd4081f73c717e09b50 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="afad3dc5a68608fd4081f73c717e09b50"></a>
virtual std::vector&lt; <a class="el" href="classtranswarp_1_1itask.html">itask</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>parents</b> () const =0</td></tr>
<tr class="separator:afad3dc5a68608fd4081f73c717e09b50 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a94d9181779852a3a43159f6cc7437b1d"><td class="memTemplParams" colspan="2"><a id="a94d9181779852a3a43159f6cc7437b1d"></a>
template&lt;typename F &gt; </td></tr>
<tr class="memitem:a94d9181779852a3a43159f6cc7437b1d"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><b>task_impl_proxy</b> (F &amp;&amp;<a class="el" href="classtranswarp_1_1functor.html">functor</a>, std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1task.html">transwarp::task</a>&lt; ParentResults &gt;&gt;... <a class="el" href="structtranswarp_1_1detail_1_1parents.html">parents</a>)</td></tr>
<tr class="separator:a94d9181779852a3a43159f6cc7437b1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b9337e787fea77ccd07e041a241669d"><td class="memTemplParams" colspan="2"><a id="a7b9337e787fea77ccd07e041a241669d"></a>
template&lt;typename F , typename P &gt; </td></tr>
<tr class="memitem:a7b9337e787fea77ccd07e041a241669d"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><b>task_impl_proxy</b> (F &amp;&amp;<a class="el" href="classtranswarp_1_1functor.html">functor</a>, std::vector&lt; std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1task.html">transwarp::task</a>&lt; P &gt;&gt;&gt; <a class="el" href="structtranswarp_1_1detail_1_1parents.html">parents</a>)</td></tr>
<tr class="separator:a7b9337e787fea77ccd07e041a241669d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classtranswarp_1_1detail_1_1task__impl__base')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html">transwarp::detail::task_impl_base&lt; void, TaskType, Functor, ParentResults... &gt;</a></td></tr>
<tr class="memitem:ad9b509f62153fd506977220dcaf77f6b inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="ad9b509f62153fd506977220dcaf77f6b"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>task_impl_base</b> (F &amp;&amp;<a class="el" href="classtranswarp_1_1functor.html">functor</a>, std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1task.html">transwarp::task</a>&lt; ParentResults &gt;&gt;... <a class="el" href="structtranswarp_1_1detail_1_1parents.html">parents</a>)</td></tr>
<tr class="separator:ad9b509f62153fd506977220dcaf77f6b inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf0d64efa275dd89abd98ce43644e023 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="abf0d64efa275dd89abd98ce43644e023"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>task_impl_base</b> (F &amp;&amp;<a class="el" href="classtranswarp_1_1functor.html">functor</a>, std::vector&lt; std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1task.html">transwarp::task</a>&lt; P &gt;&gt;&gt; <a class="el" href="structtranswarp_1_1detail_1_1parents.html">parents</a>)</td></tr>
<tr class="separator:abf0d64efa275dd89abd98ce43644e023 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab67a89b46e9909209bbb45b954edb1d5 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="ab67a89b46e9909209bbb45b954edb1d5"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>init</b> ()</td></tr>
<tr class="separator:ab67a89b46e9909209bbb45b954edb1d5 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29e989f7eb89869364380a0d5e23e56d inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a29e989f7eb89869364380a0d5e23e56d"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a29e989f7eb89869364380a0d5e23e56d">set_level</a> (std::size_t <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a6a3f6a89a5c6163ffa81f71b183547ee">level</a>) noexcept override</td></tr>
<tr class="memdesc:a29e989f7eb89869364380a0d5e23e56d inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns the given level. <br /></td></tr>
<tr class="separator:a29e989f7eb89869364380a0d5e23e56d inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7d33c9771e22620a163878f4822912b inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="ac7d33c9771e22620a163878f4822912b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ac7d33c9771e22620a163878f4822912b">set_type</a> (<a class="el" href="namespacetranswarp.html#a10f2b2567332cf9514d4c366c1cc5a5e">transwarp::task_type</a> <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a9e171e5ca4e3981b6dc0b660ebe98b96">type</a>) noexcept override</td></tr>
<tr class="memdesc:ac7d33c9771e22620a163878f4822912b inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns the given type. <br /></td></tr>
<tr class="separator:ac7d33c9771e22620a163878f4822912b inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66eb9e5a2ca4457aa8a4501aa9ee3e27 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a66eb9e5a2ca4457aa8a4501aa9ee3e27"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a66eb9e5a2ca4457aa8a4501aa9ee3e27">set_avg_idletime_us</a> (std::int64_t idletime) noexcept override</td></tr>
<tr class="memdesc:a66eb9e5a2ca4457aa8a4501aa9ee3e27 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns the given idletime. <br /></td></tr>
<tr class="separator:a66eb9e5a2ca4457aa8a4501aa9ee3e27 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa96ff3ca69fcad4b31cf79a2d5ceb1f inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="aaa96ff3ca69fcad4b31cf79a2d5ceb1f"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#aaa96ff3ca69fcad4b31cf79a2d5ceb1f">set_avg_waittime_us</a> (std::int64_t waittime) noexcept override</td></tr>
<tr class="memdesc:aaa96ff3ca69fcad4b31cf79a2d5ceb1f inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns the given waittime. <br /></td></tr>
<tr class="separator:aaa96ff3ca69fcad4b31cf79a2d5ceb1f inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d435388640eb2f2b20d514cec4a0e12 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a8d435388640eb2f2b20d514cec4a0e12"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a8d435388640eb2f2b20d514cec4a0e12">set_avg_runtime_us</a> (std::int64_t runtime) noexcept override</td></tr>
<tr class="memdesc:a8d435388640eb2f2b20d514cec4a0e12 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns the given runtime. <br /></td></tr>
<tr class="separator:a8d435388640eb2f2b20d514cec4a0e12 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afdacf007aed10c6e594d9fcba265924e inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="afdacf007aed10c6e594d9fcba265924e"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#afdacf007aed10c6e594d9fcba265924e">ensure_task_was_scheduled</a> () const</td></tr>
<tr class="memdesc:afdacf007aed10c6e594d9fcba265924e inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if the task was scheduled and throws <a class="el" href="classtranswarp_1_1control__error.html" title="Exception thrown when a task is used in unintended ways.">transwarp::control_error</a> if it's not. <br /></td></tr>
<tr class="separator:afdacf007aed10c6e594d9fcba265924e inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e765a048e7d032614d95d10601c2df1 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a1e765a048e7d032614d95d10601c2df1"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a1e765a048e7d032614d95d10601c2df1">schedule_impl</a> (bool <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ae9395346d257ac48c5dc807681bc0859">reset</a>, <a class="el" href="classtranswarp_1_1executor.html">transwarp::executor</a> *<a class="el" href="classtranswarp_1_1executor.html">executor</a>=nullptr) override</td></tr>
<tr class="memdesc:a1e765a048e7d032614d95d10601c2df1 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedules this task for execution using the provided executor. The task-specific executor gets precedence if it exists. Runs the task on the same thread as the caller if neither the global nor the task-specific executor is found. <br /></td></tr>
<tr class="separator:a1e765a048e7d032614d95d10601c2df1 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a042e8ad7eef198100dc967a0193180fa inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a042e8ad7eef198100dc967a0193180fa"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a042e8ad7eef198100dc967a0193180fa">schedule_all_impl</a> (bool <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#afc2bb4a5017de5ddd00425fd51ae5d14">reset_all</a>, <a class="el" href="classtranswarp_1_1executor.html">transwarp::executor</a> *<a class="el" href="classtranswarp_1_1executor.html">executor</a>=nullptr)</td></tr>
<tr class="memdesc:a042e8ad7eef198100dc967a0193180fa inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedules all tasks in the graph for execution using the provided executor. The task-specific executors get precedence if they exist. Runs tasks on the same thread as the caller if neither the global nor a task-specific executor is found. <br /></td></tr>
<tr class="separator:a042e8ad7eef198100dc967a0193180fa inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32bb0ef035cef5740142c04b1cc11398 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a32bb0ef035cef5740142c04b1cc11398"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a32bb0ef035cef5740142c04b1cc11398">visit</a> (const std::function&lt; void(<a class="el" href="classtranswarp_1_1itask.html">transwarp::itask</a> &amp;)&gt; &amp;visitor) override</td></tr>
<tr class="memdesc:a32bb0ef035cef5740142c04b1cc11398 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Visits each task in a depth-first traversal. <br /></td></tr>
<tr class="separator:a32bb0ef035cef5740142c04b1cc11398 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c7c9ac00d7730110efb45fa9a5844e3 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a9c7c9ac00d7730110efb45fa9a5844e3"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a9c7c9ac00d7730110efb45fa9a5844e3">unvisit</a> () noexcept override</td></tr>
<tr class="memdesc:a9c7c9ac00d7730110efb45fa9a5844e3 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Traverses through each task and marks them as not visited. <br /></td></tr>
<tr class="separator:a9c7c9ac00d7730110efb45fa9a5844e3 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0a599980419f12e228fcfcdb28b6743 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="ab0a599980419f12e228fcfcdb28b6743"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ab0a599980419f12e228fcfcdb28b6743">visit_all</a> (Visitor &amp;visitor)</td></tr>
<tr class="memdesc:ab0a599980419f12e228fcfcdb28b6743 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Visits all tasks. <br /></td></tr>
<tr class="separator:ab0a599980419f12e228fcfcdb28b6743 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa601c2797b959fa3936e63132e657950 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="aa601c2797b959fa3936e63132e657950"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>increment_childcount</b> () noexcept override</td></tr>
<tr class="separator:aa601c2797b959fa3936e63132e657950 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9172fa31104c4a9a0f0607aef89b6f1d inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a9172fa31104c4a9a0f0607aef89b6f1d"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>decrement_refcount</b> () override</td></tr>
<tr class="separator:a9172fa31104c4a9a0f0607aef89b6f1d inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a56a62bbcde145c7e911fa45efb9cd1 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a6a56a62bbcde145c7e911fa45efb9cd1"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>reset_future</b> () override</td></tr>
<tr class="separator:a6a56a62bbcde145c7e911fa45efb9cd1 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classtranswarp_1_1detail_1_1task__common"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classtranswarp_1_1detail_1_1task__common')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classtranswarp_1_1detail_1_1task__common.html">transwarp::detail::task_common&lt; void &gt;</a></td></tr>
<tr class="memitem:a8c11b84518bc9aadbebee17039b4aa63 inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a id="a8c11b84518bc9aadbebee17039b4aa63"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a8c11b84518bc9aadbebee17039b4aa63">ensure_task_not_running</a> () const</td></tr>
<tr class="memdesc:a8c11b84518bc9aadbebee17039b4aa63 inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if the task is currently running and throws <a class="el" href="classtranswarp_1_1control__error.html" title="Exception thrown when a task is used in unintended ways.">transwarp::control_error</a> if it is. <br /></td></tr>
<tr class="separator:a8c11b84518bc9aadbebee17039b4aa63 inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98d90812f2f9007f04988e5669c6260b inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a id="a98d90812f2f9007f04988e5669c6260b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a98d90812f2f9007f04988e5669c6260b">raise_event</a> (<a class="el" href="namespacetranswarp.html#a857009a6efbb2f34495ee81664a376dc">transwarp::event_type</a> event)</td></tr>
<tr class="memdesc:a98d90812f2f9007f04988e5669c6260b inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">Raises the given event to all listeners. <br /></td></tr>
<tr class="separator:a98d90812f2f9007f04988e5669c6260b inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72f6cb32b585434f3bb28aeac74e9772 inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a id="a72f6cb32b585434f3bb28aeac74e9772"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a72f6cb32b585434f3bb28aeac74e9772">check_listener</a> (const std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1listener.html">transwarp::listener</a> &gt; &amp;<a class="el" href="classtranswarp_1_1listener.html">listener</a>) const</td></tr>
<tr class="memdesc:a72f6cb32b585434f3bb28aeac74e9772 inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check for non-null listener pointer. <br /></td></tr>
<tr class="separator:a72f6cb32b585434f3bb28aeac74e9772 inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f4211c08644503f8c576ebb252cdaa8 inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a id="a0f4211c08644503f8c576ebb252cdaa8"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>ensure_listeners_object</b> ()</td></tr>
<tr class="separator:a0f4211c08644503f8c576ebb252cdaa8 inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8fca51d95cea7558b94de0ad2e215a13 inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a id="a8fca51d95cea7558b94de0ad2e215a13"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a8fca51d95cea7558b94de0ad2e215a13">set_id</a> (std::size_t <a class="el" href="classtranswarp_1_1detail_1_1task__common.html#aabd43f3358eab2d17fbcdb852fa9b9d7">id</a>) noexcept override</td></tr>
<tr class="memdesc:a8fca51d95cea7558b94de0ad2e215a13 inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns the given id. <br /></td></tr>
<tr class="separator:a8fca51d95cea7558b94de0ad2e215a13 inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1f1daa7d9b84bdcb2e59b29e956a87b inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a id="ac1f1daa7d9b84bdcb2e59b29e956a87b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#ac1f1daa7d9b84bdcb2e59b29e956a87b">set_name</a> (transwarp::option_str <a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a0835d77d070e47b0fb26d4d8b96713a8">name</a>) noexcept override</td></tr>
<tr class="memdesc:ac1f1daa7d9b84bdcb2e59b29e956a87b inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns the given name. <br /></td></tr>
<tr class="separator:ac1f1daa7d9b84bdcb2e59b29e956a87b inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a366db5b81b4e56aa674b15e97ee9d6bb inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a id="a366db5b81b4e56aa674b15e97ee9d6bb"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>copy_from</b> (const <a class="el" href="classtranswarp_1_1detail_1_1task__common.html">task_common</a> &amp;<a class="el" href="classtranswarp_1_1task.html">task</a>)</td></tr>
<tr class="separator:a366db5b81b4e56aa674b15e97ee9d6bb inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pro_types_classtranswarp_1_1detail_1_1task__common"><td colspan="2" onclick="javascript:toggleInherit('pro_types_classtranswarp_1_1detail_1_1task__common')"><img src="closed.png" alt="-"/>&#160;Protected Types inherited from <a class="el" href="classtranswarp_1_1detail_1_1task__common.html">transwarp::detail::task_common&lt; void &gt;</a></td></tr>
<tr class="memitem:a8977bf1c33c7463a4131dc0cefa60ded inherit pro_types_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a id="a8977bf1c33c7463a4131dc0cefa60ded"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>listeners_t</b> = std::map&lt; <a class="el" href="namespacetranswarp.html#a857009a6efbb2f34495ee81664a376dc">transwarp::event_type</a>, std::vector&lt; std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1listener.html">transwarp::listener</a> &gt; &gt;&gt;</td></tr>
<tr class="separator:a8977bf1c33c7463a4131dc0cefa60ded inherit pro_types_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d66f1900447a8d1f9b92ce4314b68ed inherit pro_types_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a id="a9d66f1900447a8d1f9b92ce4314b68ed"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>tasks_t</b> = std::vector&lt; <a class="el" href="classtranswarp_1_1itask.html">transwarp::itask</a> * &gt;</td></tr>
<tr class="separator:a9d66f1900447a8d1f9b92ce4314b68ed inherit pro_types_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classtranswarp_1_1detail_1_1task__impl__base')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html">transwarp::detail::task_impl_base&lt; void, TaskType, Functor, ParentResults... &gt;</a></td></tr>
<tr class="memitem:a10d247a77f3d6f1a4469f0a566340e7a inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a10d247a77f3d6f1a4469f0a566340e7a"></a>
std::size_t&#160;</td><td class="memItemRight" valign="bottom"><b>level_</b></td></tr>
<tr class="separator:a10d247a77f3d6f1a4469f0a566340e7a inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0acc38b5429447b6b4bdd899989cc69e inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a0acc38b5429447b6b4bdd899989cc69e"></a>
<a class="el" href="namespacetranswarp.html#a10f2b2567332cf9514d4c366c1cc5a5e">transwarp::task_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>type_</b></td></tr>
<tr class="separator:a0acc38b5429447b6b4bdd899989cc69e inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f88918ca722e79eb1d91df2a92b3d49 inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a4f88918ca722e79eb1d91df2a92b3d49"></a>
std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1executor.html">transwarp::executor</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>executor_</b></td></tr>
<tr class="separator:a4f88918ca722e79eb1d91df2a92b3d49 inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07848bd634fd14e7ac6efbb6365be516 inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a07848bd634fd14e7ac6efbb6365be516"></a>
std::atomic&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>canceled_</b></td></tr>
<tr class="separator:a07848bd634fd14e7ac6efbb6365be516 inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad8089476290c290ad7c61e347f7a84e inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="aad8089476290c290ad7c61e347f7a84e"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>schedule_mode_</b></td></tr>
<tr class="separator:aad8089476290c290ad7c61e347f7a84e inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf592e6652d6b1c7d7b7c413aa08ef06 inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="acf592e6652d6b1c7d7b7c413aa08ef06"></a>
std::atomic&lt; std::int64_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>avg_idletime_us_</b></td></tr>
<tr class="separator:acf592e6652d6b1c7d7b7c413aa08ef06 inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c5edd7983946306803e14514df73879 inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a3c5edd7983946306803e14514df73879"></a>
std::atomic&lt; std::int64_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>avg_waittime_us_</b></td></tr>
<tr class="separator:a3c5edd7983946306803e14514df73879 inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d447810637b6db04a4e7d2b2cbecab8 inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a9d447810637b6db04a4e7d2b2cbecab8"></a>
std::atomic&lt; std::int64_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>avg_runtime_us_</b></td></tr>
<tr class="separator:a9d447810637b6db04a4e7d2b2cbecab8 inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38fd832b254fd069171dfed3d68b3bda inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a38fd832b254fd069171dfed3d68b3bda"></a>
std::unique_ptr&lt; Functor &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>functor_</b></td></tr>
<tr class="separator:a38fd832b254fd069171dfed3d68b3bda inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa49200937132ccb16c1a4ad660b76719 inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="aa49200937132ccb16c1a4ad660b76719"></a>
<a class="el" href="structtranswarp_1_1detail_1_1parents.html">transwarp::detail::parents</a>&lt; ParentResults... &gt;::<a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a9e171e5ca4e3981b6dc0b660ebe98b96">type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>parents_</b></td></tr>
<tr class="separator:aa49200937132ccb16c1a4ad660b76719 inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bf884c05e8791a32a863e83f977783e inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a6bf884c05e8791a32a863e83f977783e"></a>
std::size_t&#160;</td><td class="memItemRight" valign="bottom"><b>childcount_</b></td></tr>
<tr class="separator:a6bf884c05e8791a32a863e83f977783e inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0cf1aca254900b78ecb98ecd83ae4f52 inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a id="a0cf1aca254900b78ecb98ecd83ae4f52"></a>
std::atomic&lt; std::size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>refcount_</b></td></tr>
<tr class="separator:a0cf1aca254900b78ecb98ecd83ae4f52 inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classtranswarp_1_1detail_1_1task__common"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classtranswarp_1_1detail_1_1task__common')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classtranswarp_1_1detail_1_1task__common.html">transwarp::detail::task_common&lt; void &gt;</a></td></tr>
<tr class="memitem:a6184cac2e551515a3de97da8f234c8eb inherit pro_attribs_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a id="a6184cac2e551515a3de97da8f234c8eb"></a>
std::size_t&#160;</td><td class="memItemRight" valign="bottom"><b>id_</b></td></tr>
<tr class="separator:a6184cac2e551515a3de97da8f234c8eb inherit pro_attribs_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55a0c382faf0f631da83f0d70b5596c5 inherit pro_attribs_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a id="a55a0c382faf0f631da83f0d70b5596c5"></a>
transwarp::option_str&#160;</td><td class="memItemRight" valign="bottom"><b>name_</b></td></tr>
<tr class="separator:a55a0c382faf0f631da83f0d70b5596c5 inherit pro_attribs_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3cdf96e89a134ac180c5eca176fabf3b inherit pro_attribs_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a id="a3cdf96e89a134ac180c5eca176fabf3b"></a>
std::int64_t&#160;</td><td class="memItemRight" valign="bottom"><b>priority_</b></td></tr>
<tr class="separator:a3cdf96e89a134ac180c5eca176fabf3b inherit pro_attribs_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac85e62418d29f7b9d00c2f4f2d75c62e inherit pro_attribs_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a id="ac85e62418d29f7b9d00c2f4f2d75c62e"></a>
transwarp::any_data&#160;</td><td class="memItemRight" valign="bottom"><b>custom_data_</b></td></tr>
<tr class="separator:ac85e62418d29f7b9d00c2f4f2d75c62e inherit pro_attribs_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69363414e45265aa6fa3b75f9e8f6950 inherit pro_attribs_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a id="a69363414e45265aa6fa3b75f9e8f6950"></a>
std::shared_future&lt; <a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a3a0e6f882a6dd86fa2e152a2aa595f90">result_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>future_</b></td></tr>
<tr class="separator:a69363414e45265aa6fa3b75f9e8f6950 inherit pro_attribs_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b7009cf0dc2c0fd22b301aa610bbb57 inherit pro_attribs_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a id="a7b7009cf0dc2c0fd22b301aa610bbb57"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>visited_</b></td></tr>
<tr class="separator:a7b7009cf0dc2c0fd22b301aa610bbb57 inherit pro_attribs_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51748bcf8e8a2f377d6f924cd1ee4d6d inherit pro_attribs_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a id="a51748bcf8e8a2f377d6f924cd1ee4d6d"></a>
std::unique_ptr&lt; listeners_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>listeners_</b></td></tr>
<tr class="separator:a51748bcf8e8a2f377d6f924cd1ee4d6d inherit pro_attribs_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1da5cb3ac99aca288cb0afe0a3044e9 inherit pro_attribs_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a id="ae1da5cb3ac99aca288cb0afe0a3044e9"></a>
std::unique_ptr&lt; tasks_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>tasks_</b></td></tr>
<tr class="separator:ae1da5cb3ac99aca288cb0afe0a3044e9 inherit pro_attribs_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename TaskType, typename Functor, typename... ParentResults&gt;<br />
class transwarp::detail::task_impl_proxy&lt; void, TaskType, Functor, ParentResults... &gt;</h3>

<p>A task proxy for void result type. </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>include/<a class="el" href="transwarp_8h_source.html">transwarp.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>
